home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / amiga / opalvisn / lsidocs.lha / Include / Opal / drawmodes.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-02-08  |  2.4 KB  |  80 lines

  1. #ifndef DRAWMODES_H
  2. #define DRAWMODES_H
  3.  
  4. #ifndef EXEC_TYPES_H
  5. #include "exec/types.h"
  6. #endif
  7.  
  8. #ifndef OPALLIB_H
  9. #include "opal/opallib.h"
  10. #endif
  11.  
  12.  
  13. #define MAX_CONV_WINDOW    31
  14.  
  15. struct DModeInfo
  16.     { USHORT OPVersion;
  17.       USHORT OPRevision;
  18.       struct OpalScreen *DispScrn;
  19.       struct OpalScreen *FullImage;
  20.       struct OpalScreen *SecImage;
  21.       struct SetUp *SetUp;
  22.       struct OpalBase *OpalBase;
  23.       UBYTE PenRed,PenGreen,PenBlue;
  24.       UBYTE Pad;
  25.       SHORT RegionX,RegionY,RegionW,RegionH;
  26.       void (*Render_Func) (SHORT x, SHORT y, SHORT R, SHORT G, SHORT B);
  27.       void (*Display_ReadPixel) (SHORT x, SHORT y, UBYTE *R, UBYTE *G, UBYTE *B);
  28.       void (*Undo_ReadPixel) (SHORT x, SHORT y, UBYTE *R, UBYTE *G, UBYTE *B);
  29.       void (*Sec_ReadPixel) (SHORT x, SHORT y, UBYTE *R, UBYTE *G, UBYTE *B);
  30.       void (*RGB_to_HSV) (SHORT R,SHORT G,SHORT B,USHORT *H, USHORT *S,USHORT *V);
  31.       void (*RGB_to_V) (SHORT R,SHORT G,SHORT B,USHORT *V);
  32.       void (*RGB_to_SV) (SHORT R,SHORT G,SHORT B,USHORT *S,USHORT *V);
  33.       void (*HSV_to_RGB) (ULONG H,ULONG S,ULONG V,UBYTE *R,UBYTE *G,UBYTE *B);
  34.       BOOL (*Build_Request) (SHORT Width,SHORT Height,SHORT Flags,struct IntuiText *Text,
  35.         struct Gadget *OtherGads,void (*GadgetFunc)(),
  36.         void (*InitFunc)(),void (*MMFunc)(),SHORT HelpX,SHORT HelpY,
  37.         STRPTR BaseName, STRPTR *Context);
  38.       void (*User_Message) (char *Mess);
  39.       BOOL (*Ask_User) (char *Mess);
  40.       BOOL (*File_Req) (char *Hail,char *Extension, char *Path, char *FileName);
  41.       void (*OPEndRequest)(void);
  42.       struct Screen *OpalScreen;
  43.       struct Window *OpalWindow;
  44.       void (*Refresh_Menu)(void);
  45.       void (*Zap_Image)(void);
  46.       void (*Do_Preview)(void);
  47.       void (*Stop_Preview)(void);
  48.       UBYTE (*Paper_Depth) (SHORT x, SHORT y);
  49.       BOOL (*Build_Req_Tags) (struct TagItem *tagList);
  50.     };
  51.  
  52.  
  53. struct DModeConfig
  54.     { char *ModeName;
  55.       BPTR Segment;
  56.       void (*DModeFunc)(SHORT x, SHORT y, SHORT R, SHORT G, SHORT B);
  57.       void (*CleanUp) (void);
  58.       void (*NewBrush) (SHORT x, SHORT y);
  59.       void (*NewStroke) (void);
  60.       void (*DMode_Options) (void);
  61.       struct DModeInfo *DModeInfo;
  62.       ULONG Flags;
  63.       UWORD  Percentage;
  64.       char *HelpText;
  65.       USHORT ModeVersion;    /* version of opalpaint mode was written for */
  66.       USHORT ModeRevision;
  67.     };
  68.  
  69.     /* Flags */
  70. #define DMF_NEEDPERCENT    0x1
  71. #define DMF_SPLITRANGE    0x2
  72. #define DMF_WINDOW    0x4
  73. #define DMF_COLOURMAP    0x8
  74. #define DMF_BOOTUP    0x10
  75. #define DMF_BUILDUP    0x20    /* override Brush Build up prefs */
  76.  
  77. #endif
  78.  
  79.  
  80.